package cn.itcast.nems.order.web.vo;

import cn.itcast.nems.studentrecord.enumeration.FundFlowPaymentTypeEnum;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 
 * 支付结果
 *
 * @author 刘曙
 *
 * @version 
 *
 * @since 2023年9月17日
 */
@Data
public class PaymentChargeResultLineNotifyVO implements Serializable {
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 2400341444590654210L;

    /** 支付类型：在线支付|ONLINE、离线支付|OFFLINE */
    private String journalType = FundFlowPaymentTypeEnum.ONLINE_PAY.name();

    /** 支付单号 */
    @NotBlank(message = "支付单号不能为空！")
    private String journalNo;
    
    /** 支付手续费金额 */
    @NotNull(message = "手续费金额不能为空！")
    @Min(value = 1, message = "手续费金额不准确，必须大于零！")
    private Integer charge;
    
    /** 支付手续费费率 */
    @NotNull(message = "手续费费率不能为空！")
    @DecimalMin(value = "0.0001", message = "手续费费率不准确，必须大于零！")    
    private BigDecimal chargeRate;
}
